100
How do I enable the cross link support ( rectangular )

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 0 76 to Nothing
		Variant voElement
		Get ComAdd of hoElements "Element <sha ;;0>C" -76 32 to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComAutoSize of hoElement to False
			Set ComHeight of hoElement to 32
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element <sha ;;0>D" 76 32 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComAutoSize of hoElement1 to False
			Set ComHeight of hoElement1 to 32
		Send Destroy to hoElement1
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComStartPos of hoLink to OLECenterAlignment
			Set ComEndPos of hoLink to OLECenterAlignment
		Send Destroy to hoLink
Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 2 to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 1 to vTo1
			Send Destroy to hoElements4
				Variant voLink1
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to voLink1
		Handle hoLink1
		Get Create (RefClass(cComLink)) to hoLink1
		Set pvComObject of hoLink1 to voLink1
			Set ComStartPos of hoLink1 to OLECenterAlignment
			Set ComEndPos of hoLink1 to OLECenterAlignment
		Send Destroy to hoLink1
		Variant vFrom2
			Variant voElements5
			Get ComElements to voElements5
			Handle hoElements5
			Get Create (RefClass(cComElements)) to hoElements5
			Set pvComObject of hoElements5 to voElements5
				Get ComItem of hoElements5 3 to vFrom2
			Send Destroy to hoElements5
Variant vTo2
			Variant voElements6
			Get ComElements to voElements6
			Handle hoElements6
			Get Create (RefClass(cComElements)) to hoElements6
			Set pvComObject of hoElements6 to voElements6
				Get ComItem of hoElements6 4 to vTo2
			Send Destroy to hoElements6
		Get ComAdd of hoLinks vFrom2 vTo2 Nothing to Nothing
Variant vFrom3
			Variant voElements7
			Get ComElements to voElements7
			Handle hoElements7
			Get Create (RefClass(cComElements)) to hoElements7
			Set pvComObject of hoElements7 to voElements7
				Get ComItem of hoElements7 4 to vFrom3
			Send Destroy to hoElements7
Variant vTo3
			Variant voElements8
			Get ComElements to voElements8
			Handle hoElements8
			Get Create (RefClass(cComElements)) to hoElements8
			Set pvComObject of hoElements8 to voElements8
				Get ComItem of hoElements8 3 to vTo3
			Send Destroy to hoElements8
				Variant voLink2
		Get ComAdd of hoLinks vFrom3 vTo3 Nothing to voLink2
		Handle hoLink2
		Get Create (RefClass(cComLink)) to hoLink2
		Set pvComObject of hoLink2 to voLink2
			Set ComStartPos of hoLink2 to OLELeftAlignment
			Set ComEndPos of hoLink2 to OLERightAlignment
		Send Destroy to hoLink2
	Send Destroy to hoLinks
	Set ComShowLinks to (OLEexShowCrossLinksRect + OLEexShowExtendedLinks)
End_Procedure
99
How do I show a link frmo bottom to top, or reverse, not from left to right

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 0 64 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComStartPos of hoLink to OLECenterAlignment
			Set ComEndPos of hoLink to OLECenterAlignment
		Send Destroy to hoLink
	Send Destroy to hoLinks
End_Procedure
98
What options to align the elements do I have if I use Arrange method

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComShowGridLines to True
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant v
		Variant voElement
		Get ComAdd of hoElements "Top Alignment" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Get ComID of hoElement to v
		Send Destroy to hoElement
		Variant h1
		Move v to h1
		Get ComAdd of hoElements "Element" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element" Nothing Nothing to Nothing
		Variant v1
		Variant voElement1
		Get ComAdd of hoElements "Center Alignment" 96 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Get ComID of hoElement1 to v1
		Send Destroy to hoElement1
		Variant h2
		Move v1 to h2
		Get ComAdd of hoElements "Element" 96 to Nothing
		Get ComAdd of hoElements "Element" 96 to Nothing
		Get ComAdd of hoElements "Element" 96 to Nothing
		Variant v2
		Variant voElement2
		Get ComAdd of hoElements "Bottom Alignment" 178 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Get ComID of hoElement2 to v2
		Send Destroy to hoElement2
		Variant h3
		Move v2 to h3
		Get ComAdd of hoElements "Element" 192 to Nothing
		Get ComAdd of hoElements "Element" 192 to Nothing
		Get ComAdd of hoElements "Element" 192 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
		Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 1 to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 3 to vTo1
			Send Destroy to hoElements4
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to Nothing
		Variant vFrom2
			Variant voElements5
			Get ComElements to voElements5
			Handle hoElements5
			Get Create (RefClass(cComElements)) to hoElements5
			Set pvComObject of hoElements5 to voElements5
				Get ComItem of hoElements5 2 to vFrom2
			Send Destroy to hoElements5
Variant vTo2
			Variant voElements6
			Get ComElements to voElements6
			Handle hoElements6
			Get Create (RefClass(cComElements)) to hoElements6
			Set pvComObject of hoElements6 to voElements6
				Get ComItem of hoElements6 4 to vTo2
			Send Destroy to hoElements6
		Get ComAdd of hoLinks vFrom2 vTo2 Nothing to Nothing
		Variant vFrom3
			Variant voElements7
			Get ComElements to voElements7
			Handle hoElements7
			Get Create (RefClass(cComElements)) to hoElements7
			Set pvComObject of hoElements7 to voElements7
				Get ComItem of hoElements7 2 to vFrom3
			Send Destroy to hoElements7
Variant vTo3
			Variant voElements8
			Get ComElements to voElements8
			Handle hoElements8
			Get Create (RefClass(cComElements)) to hoElements8
			Set pvComObject of hoElements8 to voElements8
				Get ComItem of hoElements8 3 to vTo3
			Send Destroy to hoElements8
		Get ComAdd of hoLinks vFrom3 vTo3 Nothing to Nothing
		Variant vFrom4
			Variant voElements9
			Get ComElements to voElements9
			Handle hoElements9
			Get Create (RefClass(cComElements)) to hoElements9
			Set pvComObject of hoElements9 to voElements9
				Get ComItem of hoElements9 5 to vFrom4
			Send Destroy to hoElements9
Variant vTo4
			Variant voElements10
			Get ComElements to voElements10
			Handle hoElements10
			Get Create (RefClass(cComElements)) to hoElements10
			Set pvComObject of hoElements10 to voElements10
				Get ComItem of hoElements10 6 to vTo4
			Send Destroy to hoElements10
		Get ComAdd of hoLinks vFrom4 vTo4 Nothing to Nothing
		Variant vFrom5
			Variant voElements11
			Get ComElements to voElements11
			Handle hoElements11
			Get Create (RefClass(cComElements)) to hoElements11
			Set pvComObject of hoElements11 to voElements11
				Get ComItem of hoElements11 5 to vFrom5
			Send Destroy to hoElements11
Variant vTo5
			Variant voElements12
			Get ComElements to voElements12
			Handle hoElements12
			Get Create (RefClass(cComElements)) to hoElements12
			Set pvComObject of hoElements12 to voElements12
				Get ComItem of hoElements12 7 to vTo5
			Send Destroy to hoElements12
		Get ComAdd of hoLinks vFrom5 vTo5 Nothing to Nothing
		Variant vFrom6
			Variant voElements13
			Get ComElements to voElements13
			Handle hoElements13
			Get Create (RefClass(cComElements)) to hoElements13
			Set pvComObject of hoElements13 to voElements13
				Get ComItem of hoElements13 6 to vFrom6
			Send Destroy to hoElements13
Variant vTo6
			Variant voElements14
			Get ComElements to voElements14
			Handle hoElements14
			Get Create (RefClass(cComElements)) to hoElements14
			Set pvComObject of hoElements14 to voElements14
				Get ComItem of hoElements14 8 to vTo6
			Send Destroy to hoElements14
		Get ComAdd of hoLinks vFrom6 vTo6 Nothing to Nothing
		Variant vFrom7
			Variant voElements15
			Get ComElements to voElements15
			Handle hoElements15
			Get Create (RefClass(cComElements)) to hoElements15
			Set pvComObject of hoElements15 to voElements15
				Get ComItem of hoElements15 6 to vFrom7
			Send Destroy to hoElements15
Variant vTo7
			Variant voElements16
			Get ComElements to voElements16
			Handle hoElements16
			Get Create (RefClass(cComElements)) to hoElements16
			Set pvComObject of hoElements16 to voElements16
				Get ComItem of hoElements16 7 to vTo7
			Send Destroy to hoElements16
		Get ComAdd of hoLinks vFrom7 vTo7 Nothing to Nothing
		Variant vFrom8
			Variant voElements17
			Get ComElements to voElements17
			Handle hoElements17
			Get Create (RefClass(cComElements)) to hoElements17
			Set pvComObject of hoElements17 to voElements17
				Get ComItem of hoElements17 9 to vFrom8
			Send Destroy to hoElements17
Variant vTo8
			Variant voElements18
			Get ComElements to voElements18
			Handle hoElements18
			Get Create (RefClass(cComElements)) to hoElements18
			Set pvComObject of hoElements18 to voElements18
				Get ComItem of hoElements18 10 to vTo8
			Send Destroy to hoElements18
		Get ComAdd of hoLinks vFrom8 vTo8 Nothing to Nothing
		Variant vFrom9
			Variant voElements19
			Get ComElements to voElements19
			Handle hoElements19
			Get Create (RefClass(cComElements)) to hoElements19
			Set pvComObject of hoElements19 to voElements19
				Get ComItem of hoElements19 9 to vFrom9
			Send Destroy to hoElements19
Variant vTo9
			Variant voElements20
			Get ComElements to voElements20
			Handle hoElements20
			Get Create (RefClass(cComElements)) to hoElements20
			Set pvComObject of hoElements20 to voElements20
				Get ComItem of hoElements20 11 to vTo9
			Send Destroy to hoElements20
		Get ComAdd of hoLinks vFrom9 vTo9 Nothing to Nothing
		Variant vFrom10
			Variant voElements21
			Get ComElements to voElements21
			Handle hoElements21
			Get Create (RefClass(cComElements)) to hoElements21
			Set pvComObject of hoElements21 to voElements21
				Get ComItem of hoElements21 10 to vFrom10
			Send Destroy to hoElements21
Variant vTo10
			Variant voElements22
			Get ComElements to voElements22
			Handle hoElements22
			Get Create (RefClass(cComElements)) to hoElements22
			Set pvComObject of hoElements22 to voElements22
				Get ComItem of hoElements22 12 to vTo10
			Send Destroy to hoElements22
		Get ComAdd of hoLinks vFrom10 vTo10 Nothing to Nothing
		Variant vFrom11
			Variant voElements23
			Get ComElements to voElements23
			Handle hoElements23
			Get Create (RefClass(cComElements)) to hoElements23
			Set pvComObject of hoElements23 to voElements23
				Get ComItem of hoElements23 10 to vFrom11
			Send Destroy to hoElements23
Variant vTo11
			Variant voElements24
			Get ComElements to voElements24
			Handle hoElements24
			Get Create (RefClass(cComElements)) to hoElements24
			Set pvComObject of hoElements24 to voElements24
				Get ComItem of hoElements24 11 to vTo11
			Send Destroy to hoElements24
		Get ComAdd of hoLinks vFrom11 vTo11 Nothing to Nothing
	Send Destroy to hoLinks
	Set ComDefArrange OLEexDefArrangeAlign to 0
	Send ComArrange h1
	Set ComDefArrange OLEexDefArrangeAlign to 1
	Send ComArrange h2
	Set ComDefArrange OLEexDefArrangeAlign to 2
	Send ComArrange h3
	Send ComEndUpdate
End_Procedure
97
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" Nothing Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" Nothing Nothing to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComID of hoElement2 to "C"
		Send Destroy to hoElement2
		Variant voElement3
		Get ComAdd of hoElements "Element D" Nothing Nothing to voElement3
		Handle hoElement3
		Get Create (RefClass(cComElement)) to hoElement3
		Set pvComObject of hoElement3 to voElement3
			Set ComID of hoElement3 to "D"
		Send Destroy to hoElement3
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
		Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 "A" to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 "C" to vTo1
			Send Destroy to hoElements4
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to Nothing
		Variant vFrom2
			Variant voElements5
			Get ComElements to voElements5
			Handle hoElements5
			Get Create (RefClass(cComElements)) to hoElements5
			Set pvComObject of hoElements5 to voElements5
				Get ComItem of hoElements5 "B" to vFrom2
			Send Destroy to hoElements5
Variant vTo2
			Variant voElements6
			Get ComElements to voElements6
			Handle hoElements6
			Get Create (RefClass(cComElements)) to hoElements6
			Set pvComObject of hoElements6 to voElements6
				Get ComItem of hoElements6 "D" to vTo2
			Send Destroy to hoElements6
		Get ComAdd of hoLinks vFrom2 vTo2 Nothing to Nothing
		Variant vFrom3
			Variant voElements7
			Get ComElements to voElements7
			Handle hoElements7
			Get Create (RefClass(cComElements)) to hoElements7
			Set pvComObject of hoElements7 to voElements7
				Get ComItem of hoElements7 "B" to vFrom3
			Send Destroy to hoElements7
Variant vTo3
			Variant voElements8
			Get ComElements to voElements8
			Handle hoElements8
			Get Create (RefClass(cComElements)) to hoElements8
			Set pvComObject of hoElements8 to voElements8
				Get ComItem of hoElements8 "C" to vTo3
			Send Destroy to hoElements8
		Get ComAdd of hoLinks vFrom3 vTo3 Nothing to Nothing
	Send Destroy to hoLinks
	Send ComArrange Nothing
End_Procedure
96
Is it possible to change the distance between elements, when calling the Arrange method

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" Nothing Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" Nothing Nothing to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComID of hoElement2 to "C"
		Send Destroy to hoElement2
		Variant voElement3
		Get ComAdd of hoElements "Element D" Nothing Nothing to voElement3
		Handle hoElement3
		Get Create (RefClass(cComElement)) to hoElement3
		Set pvComObject of hoElement3 to voElement3
			Set ComID of hoElement3 to "D"
		Send Destroy to hoElement3
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
		Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 "A" to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 "C" to vTo1
			Send Destroy to hoElements4
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to Nothing
		Variant vFrom2
			Variant voElements5
			Get ComElements to voElements5
			Handle hoElements5
			Get Create (RefClass(cComElements)) to hoElements5
			Set pvComObject of hoElements5 to voElements5
				Get ComItem of hoElements5 "B" to vFrom2
			Send Destroy to hoElements5
Variant vTo2
			Variant voElements6
			Get ComElements to voElements6
			Handle hoElements6
			Get Create (RefClass(cComElements)) to hoElements6
			Set pvComObject of hoElements6 to voElements6
				Get ComItem of hoElements6 "D" to vTo2
			Send Destroy to hoElements6
		Get ComAdd of hoLinks vFrom2 vTo2 Nothing to Nothing
		Variant vFrom3
			Variant voElements7
			Get ComElements to voElements7
			Handle hoElements7
			Get Create (RefClass(cComElements)) to hoElements7
			Set pvComObject of hoElements7 to voElements7
				Get ComItem of hoElements7 "B" to vFrom3
			Send Destroy to hoElements7
Variant vTo3
			Variant voElements8
			Get ComElements to voElements8
			Handle hoElements8
			Get Create (RefClass(cComElements)) to hoElements8
			Set pvComObject of hoElements8 to voElements8
				Get ComItem of hoElements8 "C" to vTo3
			Send Destroy to hoElements8
		Get ComAdd of hoLinks vFrom3 vTo3 Nothing to Nothing
	Send Destroy to hoLinks
	Set ComDefArrange OLEexDefArrangeDX to 0
	Set ComDefArrange OLEexDefArrangeDY to 0
	Send ComArrange Nothing
End_Procedure
95
How do I organize vertically the elements

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" Nothing Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" Nothing Nothing to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComID of hoElement2 to "C"
		Send Destroy to hoElement2
		Variant voElement3
		Get ComAdd of hoElements "Element D" Nothing Nothing to voElement3
		Handle hoElement3
		Get Create (RefClass(cComElement)) to hoElement3
		Set pvComObject of hoElement3 to voElement3
			Set ComID of hoElement3 to "D"
		Send Destroy to hoElement3
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
		Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 "A" to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 "C" to vTo1
			Send Destroy to hoElements4
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to Nothing
		Variant vFrom2
			Variant voElements5
			Get ComElements to voElements5
			Handle hoElements5
			Get Create (RefClass(cComElements)) to hoElements5
			Set pvComObject of hoElements5 to voElements5
				Get ComItem of hoElements5 "B" to vFrom2
			Send Destroy to hoElements5
Variant vTo2
			Variant voElements6
			Get ComElements to voElements6
			Handle hoElements6
			Get Create (RefClass(cComElements)) to hoElements6
			Set pvComObject of hoElements6 to voElements6
				Get ComItem of hoElements6 "D" to vTo2
			Send Destroy to hoElements6
		Get ComAdd of hoLinks vFrom2 vTo2 Nothing to Nothing
		Variant vFrom3
			Variant voElements7
			Get ComElements to voElements7
			Handle hoElements7
			Get Create (RefClass(cComElements)) to hoElements7
			Set pvComObject of hoElements7 to voElements7
				Get ComItem of hoElements7 "B" to vFrom3
			Send Destroy to hoElements7
Variant vTo3
			Variant voElements8
			Get ComElements to voElements8
			Handle hoElements8
			Get Create (RefClass(cComElements)) to hoElements8
			Set pvComObject of hoElements8 to voElements8
				Get ComItem of hoElements8 "C" to vTo3
			Send Destroy to hoElements8
		Get ComAdd of hoLinks vFrom3 vTo3 Nothing to Nothing
	Send Destroy to hoLinks
	Set ComShowLinksType to OLEexLinkStraight
	Set ComDefArrange OLEexDefArrangeDir to 1
	Send ComArrange Nothing
End_Procedure
94
Is there a way to create a link which has the same start and end element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element" Nothing Nothing to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 1 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
End_Procedure
93
How can I prevent hiding the item when an item with an outgoing link, is collapsed

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Item <sha ;;0>1" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to 1
		Send Destroy to hoElement
		Variant voElement1
		Get ComInsert of hoElements "Item <sha ;;0>2" 1 Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to 2
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Item <sha ;;0>3" Nothing Nothing to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComID of hoElement2 to 3
			Set ComX of hoElement2 to 96
			Set ComY of hoElement2 to 23
		Send Destroy to hoElement2
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 2 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 3 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
	Set ComShowLinksOnCollapse to True
End_Procedure
92
How can I change the toolbar's visual appearance

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexToolBarAppearance to |CI$1000000
	Set ComBackground OLEexToolBarBackColor to (RGB(255,255,255))
	Set ComBackground OLEexToolBarForeColor to (RGB(40,40,40))
	Set ComBackground OLEexToolBarButtonDownBackColor to |CI$1606060
	Set ComBackground OLEexToolBarButtonDownForeColor to (RGB(240,240,240))
	Set ComBackground OLEexToolBarButtonHotBackColor to |CI$1a0a0a0
	Set ComBackground OLEexToolBarButtonHotForeColor to (RGB(255,255,255))
End_Procedure
91
How can I change the toolbar's background color

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexToolBarBackColor to (RGB(255,255,255))
End_Procedure
90
How can I fit or ensure that all elements are in the control's client area
Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" -500 -500 to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComBackColor of hoElement to (RGB(0,255,0))
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 500 500 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComBackColor of hoElement1 to (RGB(255,0,0))
		Send Destroy to hoElement1
		Get ComAdd of hoElements "Element C" 48 24 to Nothing
	Send Destroy to hoElements
	Send ComFitToClient
End_Procedure
89
When I use the context menu to insert an image, the size seems to be fixed to 32 pixels. How can I control / change this

// The user creates at runtime a new element.
Procedure OnComCreateElement Variant   llElement
	Forward Send OnComCreateElement llElement
	// Element.Edit(0,"multiline,wordwrap")
	// Element.AutoSize = True
	Showln "Call Edit(0) method of the Element object"
End_Procedure

// Occurs once the user right clicks the control.
Procedure OnComRClick 
	Forward Send OnComRClick 
	// SelElement(0).Edit(0,"multiline,wordwrap")
	Set ComSelection to (ComElementFromPoint(Self,-1,-1))
	Showln "Call Edit(0) method of the SelElement(0) property"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 3 "c:\exontrol\images\hot.ebn" to Nothing
	Send Destroy to hoAppearance1
	Set ComBackground OLEexContextMenuAppearance to |CI$1000000
	Set ComBackground OLEexContextMenuSelBackColor to |CI$1fcddc0
	Set ComBackground OLEexElementBorderColor to |CI$3000000
	Set ComSelectObjectColor to (RGB(192,221,252))
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComHTMLPicture "pic2" to "c:\exontrol\images\auction.gif"
	Set ComHTMLPicture "pic3" to "c:\exontrol\images\colorize.gif"
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Custom-size pictures:<br><img>pic1:24</img>,<img>pic2:48</img> ,... and so on." 96 48 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
			Set ComCaptionSingleLine of hoElement1 to False
		Send Destroy to hoElement1
		Get ComAdd of hoElements "Element C" 48 24 to Nothing
	Send Destroy to hoElements
	Set ComEditContextMenuItems to "Size[id=57680][edittype=515][border=0][min=16][max=128][freq=16][editwidth=-128][ticklabel=value = %i ? '<b>'+value : ( value = vmax ? '<fgcolor 808080><font ;6><b>'+value : ( value = vmin ? '<fgcolor 808080><font ;6><b>'+value : '' ) )],Insert[group=3](<img>pic1:32</img>[id=57763],<img>pic2:32</img>[id=57763],Others[id=1000](default[group=3](<img>pic3</img>[id=57763]),<font ;6>other sizes[sep],<img>pic3:16</img>[id=57763],<img>pic3:32</img>[id=57763],<img>pic3:64</img>[id=57763]))"
End_Procedure
88
Can I add images to node while editing the node using the Edit method

// The user creates at runtime a new element.
Procedure OnComCreateElement Variant   llElement
	Forward Send OnComCreateElement llElement
	// Element.Edit(0,"multiline,wordwrap")
	// Element.AutoSize = True
	Showln "Call Edit(0) method of the Element object"
End_Procedure

// Occurs once the user right clicks the control.
Procedure OnComRClick 
	Forward Send OnComRClick 
	// SelElement(0).Edit(0,"multiline,wordwrap")
	Set ComSelection to (ComElementFromPoint(Self,-1,-1))
	Showln "Call Edit(0) method of the SelElement(0) property"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexContextMenuAppearance to |CI$1000000
	Set ComBackground OLEexContextMenuSelBackColor to |CI$10000ff
	Set ComSelectObjectStyle to OLEexNoLines
	Set ComSelectObjectColor to (RGB(192,221,252))
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComHTMLPicture "pic2" to "c:\exontrol\images\auction.gif"
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "This is a node that displays pictures:<br><img>pic1:48</img>,<img>pic2:48</img> ,... and so on." 96 48 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
			Set ComCaptionSingleLine of hoElement1 to False
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 24 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
87
I am using the Edit method to edit the node, but still not able to display multiple lines. Is this possible

// The user creates at runtime a new element.
Procedure OnComCreateElement Variant   llElement
	Forward Send OnComCreateElement llElement
	// Element.Edit(0,"multiline,wordwrap")
	// Element.AutoSize = True
	Showln "Call Edit(0) method of the Element object"
End_Procedure

// Occurs once the user right clicks the control.
Procedure OnComRClick 
	Forward Send OnComRClick 
	// SelElement(0).Edit(0,"multiline,wordwrap")
	Set ComSelection to (ComElementFromPoint(Self,-1,-1))
	Showln "Call Edit(0) method of the SelElement(0) property"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexContextMenuAppearance to |CI$1000000
	Set ComBackground OLEexContextMenuSelBackColor to |CI$10000ff
	Set ComSelectObjectStyle to OLEexNoLines
	Set ComSelectObjectColor to (RGB(192,221,252))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Right-<b>Click</b> the node to edit it." 96 48 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
			Set ComCaptionSingleLine of hoElement1 to False
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 24 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
86
How can I change the visual appearance of the edit's context menu

// The user creates at runtime a new element.
Procedure OnComCreateElement Variant   llElement
	Forward Send OnComCreateElement llElement
	// Element.Edit(0)
	// Element.AutoSize = True
	Showln "Call Edit(0) method of the Element object"
End_Procedure

// Occurs once the user right clicks the control.
Procedure OnComRClick 
	Forward Send OnComRClick 
	// SelElement(0).Edit(0)
	Set ComSelection to (ComElementFromPoint(Self,-1,-1))
	Showln "Call Edit(0) method of the SelElement(0) property"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexContextMenuAppearance to |CI$1000000
	Set ComBackground OLEexContextMenuSelBackColor to |CI$10000ff
	Set ComSelectObjectStyle to OLEexNoLines
	Set ComSelectObjectColor to (RGB(192,221,252))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Right-Click to edit this node" 96 48 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 24 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
85
How can I edit the node once the user right-click the element

// The user creates at runtime a new element.
Procedure OnComCreateElement Variant   llElement
	Forward Send OnComCreateElement llElement
	// Element.Edit(0)
	// Element.AutoSize = True
	Showln "Call Edit(0) method of the Element object"
End_Procedure

// Occurs once the user right clicks the control.
Procedure OnComRClick 
	Forward Send OnComRClick 
	// SelElement(0).Edit(0)
	Set ComSelection to (ComElementFromPoint(Self,-1,-1))
	Showln "Call Edit(0) method of the SelElement(0) property"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 48 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 24 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
84
I wish to return the name that is displayed in the Element that I have selected

// Notifies your application that the control's selection has been changed.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Showln "The number of selected elements is: " (ComSelCount(Self))
	Variant v
	Variant voElement
	Get ComSelElement 0 to voElement
	Handle hoElement
	Get Create (RefClass(cComElement)) to hoElement
	Set pvComObject of hoElement to voElement
		Get ComCaption of hoElement to v
	Send Destroy to hoElement
	Showln v
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComHideSel to False
	Set ComSelectObjectColorInactive to (ComSelectObjectColor(Self))
	Set ComSelectObjectTextColorInactive to (ComSelectObjectTextColor(Self))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement1
		Get ComAdd of hoElements "Element 1" Nothing Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComSelected of hoElement1 to True
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element 2" Nothing Nothing to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComX of hoElement2 to 32
			Set ComY of hoElement2 to 32
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
83
Been playing with the surface control with the embedded ExGrid ActiveX...I can see most events coming through via the Surface control but I can't get the OnOLEStartDrag event to fire

// Occurs once an inside control fires an event.
Procedure OnComOleEvent Variant   llElement Variant   llEv
	Forward Send OnComOleEvent llElement llEv
	// Ev.Param(1).Value = 2
	// Ev.Param(0).Value.SetData("items to be carried")
	Showln llEv
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Exontrol.Grid" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to ""client""
Get ComObject of hoElement to Nothing			Send Destroy to hoElement
		Send Destroy to hoElements
	Send ComMoveCorner OLEexMiddleCenter OLEexTopLeft
	Send ComEndUpdate
End_Procedure
82
Is it possible to assign/add a percent to an element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
			Set ComCaptionAlign of hoElement to OLEexTopCenter
			Set ComAutoSize of hoElement to False
			Set ComHeight of hoElement to 36
			Set ComWidth of hoElement to 96
			Set ComMinHeight of hoElement to 36
			Set ComBackgroundExt of hoElement to "none[(2,100%-15,100%-4,14)](left[50%,back=RGB(0,255,0),text=`15%`,align=0x11,pattern=6,frame])"
			Set ComBackgroundExtValue of hoElement OLEexIndexExt2 OLEexClientExt to "75%"
			Set ComBackgroundExtValue of hoElement OLEexIndexExt2 OLEexTextExt to (ComBackgroundExtValue(hoElement,OLEexIndexExt2,OLEexClientExt))
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
81
How can I disable selecting the nodes/elements
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowSelectObject to OLEexDisallow
	Set ComAllowSelectNothing to False
	Set ComAllowSelectObjectRect to OLEexDisallow
	Set ComAllowToggleSelectKey to OLEexDisallow
End_Procedure
80
How can I set my zooming levels on the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Set ComZoomLevels to "75,100,150,200"
	Set ComAllowLinkObjects to OLEexDisallow
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 12 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
79
How can I prevent zooming the surface

Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowZoomSurface to OLEexDisallow
	Set ComAllowZoomWheelSurface to False
	Set ComToolBarFormat to "-1,100"
End_Procedure
78
How can I prevent adding the links
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowLinkObjects to OLEexDisallow
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 12 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
77
How can I fix all elements on the surface, so no moving or resizing is allowed

Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowResizeObject to OLEexDisallow
	Set ComAllowMoveObject to OLEexDisallow
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 12 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
76
How can I link elements with no pressing the SHIFT key
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowInsertObject to False
	Set ComAllowLinkObjects to OLEexLeftClick
	Set ComAllowMoveObject to OLEexDisallow
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 12 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
75
How can I disable creating the tree/hierarchies
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowInsertObject to False
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 12 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
End_Procedure
74
How can I create new elements using simple clicks rather than double clicks

Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowCreateObject to OLEexLeftClick
End_Procedure
73
How can I disable creating new elements at runtime
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowCreateObject to OLEexDisallow
End_Procedure
72
I've noticed that the links cut the elements. Is it possible to show the links on the back

Procedure OnCreate
	Forward Send OnCreate
	Set ComShowLinksType to OLEexLinkStraight
	Set ComShowLinks to OLEexShowExtendedLinks
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 48 12 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComBackColor of hoElement2 to (RGB(255,255,255))
		Send Destroy to hoElement2
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComCaption of hoLink to "link"
		Send Destroy to hoLink
	Send Destroy to hoLinks
End_Procedure
71
How can I show a picture on the link

Procedure OnCreate
	Forward Send OnCreate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComCaption of hoLink to "<img>pic1:24</img>"
		Send Destroy to hoLink
	Send Destroy to hoLinks
	Set ComShowLinksType to OLEexLinkStraight
End_Procedure
70
How can I show a caption on the link

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComCaption of hoLink to "link"
		Send Destroy to hoLink
	Send Destroy to hoLinks
	Set ComShowLinksType to OLEexLinkStraight
End_Procedure
69
I am using EBN to show my arrows, the question is if I can make it bigger/larger

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
		Get ComAdd of hoAppearance 2 "CP:1 -2 -2 2 2" to Nothing
	Send Destroy to hoAppearance
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 96 -24 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComID of hoElement2 to "C"
		Send Destroy to hoElement2
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
		Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 "A" to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 "C" to vTo1
			Send Destroy to hoElements4
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to Nothing
	Send Destroy to hoLinks
	Set ComLinksArrowColor to |CI$2000000
End_Procedure
68
Is it possible to show different type of arrows for links

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "A"
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 96 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "B"
		Send Destroy to hoElement1
		Variant voElement2
		Get ComAdd of hoElements "Element C" 96 -24 to voElement2
		Handle hoElement2
		Get Create (RefClass(cComElement)) to hoElement2
		Set pvComObject of hoElement2 to voElement2
			Set ComID of hoElement2 to "C"
		Send Destroy to hoElement2
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 "A" to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 "B" to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComArrowColor of hoLink to (RGB(255,0,0))
		Send Destroy to hoLink
Variant vFrom1
			Variant voElements3
			Get ComElements to voElements3
			Handle hoElements3
			Get Create (RefClass(cComElements)) to hoElements3
			Set pvComObject of hoElements3 to voElements3
				Get ComItem of hoElements3 "A" to vFrom1
			Send Destroy to hoElements3
Variant vTo1
			Variant voElements4
			Get ComElements to voElements4
			Handle hoElements4
			Get Create (RefClass(cComElements)) to hoElements4
			Set pvComObject of hoElements4 to voElements4
				Get ComItem of hoElements4 "C" to vTo1
			Send Destroy to hoElements4
				Variant voLink1
		Get ComAdd of hoLinks vFrom1 vTo1 Nothing to voLink1
		Handle hoLink1
		Get Create (RefClass(cComLink)) to hoLink1
		Set pvComObject of hoLink1 to voLink1
			Set ComArrowColor of hoLink1 to |CI$1000000
		Send Destroy to hoLink1
	Send Destroy to hoLinks
End_Procedure
67
How can I remove or clear the entire surface
Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "element" Nothing Nothing to Nothing
	Send Destroy to hoElements
	Variant voElements1
	Get ComElements to voElements1
	Handle hoElements1
	Get Create (RefClass(cComElements)) to hoElements1
	Set pvComObject of hoElements1 to voElements1
		Send ComClear of hoElements1
	Send Destroy to hoElements1
	Send ComHome
End_Procedure
66
How can I programmatically add a child element, or create a tree/hierarchy

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Root" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComID of hoElement to "rootID"
		Send Destroy to hoElement
		Get ComInsert of hoElements "Child 1" "rootID" Nothing to Nothing
		Variant voElement1
		Get ComInsert of hoElements "Child 2" "rootID" Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComID of hoElement1 to "childID"
		Send Destroy to hoElement1
		Get ComInsert of hoElements "Child 3" "rootID" Nothing to Nothing
		Get ComInsert of hoElements "Sub-Child 1.2" "childID" Nothing to Nothing
		Get ComInsert of hoElements "Sub-Child 2.2" "childID" Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
65
I've noticed that the element's background is transparent. Can I make it opaque

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "new 1" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComBackColor of hoElement to (RGB(255,255,255))
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "new 1" 24 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComBackColor of hoElement1 to (RGB(240,240,240))
		Send Destroy to hoElement1
	Send Destroy to hoElements
End_Procedure
64
How can I add a resizable element
Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "new 1" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComAutoSize of hoElement to False
			Set ComResizable of hoElement to True
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "new 1" 24 24 to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComAutoSize of hoElement1 to False
			Set ComResizable of hoElement1 to True
		Send Destroy to hoElement1
	Send Destroy to hoElements
End_Procedure
63
How can I programmatically add a new element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "new 1" Nothing Nothing to Nothing
		Get ComAdd of hoElements "new 1" 24 24 to Nothing
	Send Destroy to hoElements
End_Procedure
62
Is it possible to assign a tooltip to an element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element with a Tooltip" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComToolTip of hoElement to "This is a bit of text that should be displayed when cursor hovers the element."
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
61
How do I specify direct/straight link for all links

Procedure OnCreate
	Forward Send OnCreate
	Set ComShowLinksType to (OLEexLinkStraight + OLEexLinkDirect)
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
End_Procedure
60
How do I show a direct/straight link

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
				Variant voLink
		Get ComAdd of hoLinks vFrom vTo Nothing to voLink
		Handle hoLink
		Get Create (RefClass(cComLink)) to hoLink
		Set pvComObject of hoLink to voLink
			Set ComShowLinkType of hoLink to (OLEexLinkStraight + OLEexLinkDirect)
		Send Destroy to hoLink
	Send Destroy to hoLinks
End_Procedure
59
How can I ensure that a specified element fits the surface's visible area

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element A" -100 Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Variant voPattern
			Get ComPattern of hoElement to voPattern
			Handle hoPattern
			Get Create (RefClass(cComPattern)) to hoPattern
			Set pvComObject of hoPattern to voPattern
				Set ComType of hoPattern to OLEexPatternBDiagonal
				Set ComColor of hoPattern to (RGB(224,224,224))
			Send Destroy to hoPattern
		Send Destroy to hoElement
		Variant voElement1
		Get ComAdd of hoElements "Element B" 2000 Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Send ComScrollTo of hoElement1 OLEexMiddleCenter
		Send Destroy to hoElement1
	Send Destroy to hoElements
End_Procedure
58
Is it possible to show a pattern like ( not available ) over an element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element+Pattern" -100 Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Variant voPattern
			Get ComPattern of hoElement to voPattern
			Handle hoPattern
			Get Create (RefClass(cComPattern)) to hoPattern
			Set pvComObject of hoPattern to voPattern
				Set ComType of hoPattern to OLEexPatternBDiagonal
				Set ComColor of hoPattern to (RGB(224,224,224))
			Send Destroy to hoPattern
		Send Destroy to hoElement
		Get ComAdd of hoElements "Element" 100 Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
57
How can I specify a different overview color for the element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element+A" -100 Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComOverviewColor of hoElement to (RGB(255,0,0))
		Send Destroy to hoElement
		Get ComAdd of hoElements "Element+B" 100 Nothing to Nothing
	Send Destroy to hoElements
	Set ComScrollPos True to 512
End_Procedure
56
I've noticed that some lines are shown on the border, how can I get ride of them

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element+A" -100 Nothing to Nothing
		Get ComAdd of hoElements "Element+B" 100 Nothing to Nothing
	Send Destroy to hoElements
	Set ComScrollPos True to 512
	Set ComOverviewColor to -1
End_Procedure
55
How can I handle clicking an icon or a picture

// The uses clicks a part of the element that shows the had cursor.
Procedure OnComHandCursorClick Variant   llElement OLEShowHandCursorOnEnum   llHit Variant   llKey
	Forward Send OnComHandCursorClick llElement llHit llKey
	Showln llKey
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComHTMLPicture "pic2" to "c:\exontrol\images\auction.gif"
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Caption" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComPictures of hoElement to "1,2/pic1/pic2"
			Set ComPicturesAlign of hoElement to OLEexBottomCenter
			Set ComShowHandCursorOn of hoElement to (OLEexShowHandCursorExtraPictures + OLEexShowHandCursorPictures + OLEexShowHandCursorIcon + OLEexShowHandCursorPicture)
			Set ComCaptionAlign of hoElement to OLEexTopCenter
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
54
How can I display a picture

Procedure OnCreate
	Forward Send OnCreate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComHTMLPicture "pic2" to "c:\exontrol\images\auction.gif"
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComPictures of hoElement to "pic1/pic2"
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
53
How can I display a picture

Procedure OnCreate
	Forward Send OnCreate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComHTMLPicture "pic2" to "c:\exontrol\images\auction.gif"
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Icon <img>pic1</img> or <img>pic2</img>" Nothing Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
52
How can I display an icon

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComPictures of hoElement to "0/1,2"
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
51
How can I display an icon

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Icon <img>1</img> or <img>2</img>" Nothing Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
50
How can I prevent moving all descendent/outgoing elements when focused element is moved, more like a free move
Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
	Set ComShowLinksType to (OLEexLinkStraight + OLEexLinkDirect)
	Set ComAllowMoveDescendents to False
End_Procedure
49
How can I display the +/- expand/collapse glyphs next to linked elements

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
	Variant voElements3
	Get ComElements to voElements3
	Handle hoElements3
	Get Create (RefClass(cComElements)) to hoElements3
	Set pvComObject of hoElements3 to voElements3
		Variant voElement
		Get ComItem of hoElements3 1 to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComExpanded of hoElement to False
		Send Destroy to hoElement
	Send Destroy to hoElements3
	Set ComExpandLinkedElements to True
End_Procedure
48
How can I host the Exontrol.Button inside the surface

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "ActiveX" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComType of hoElement to OLEexElementHostControl
			Set ComElementFormat of hoElement to ""check":18,"client""
			Set ComShowCheckBox of hoElement to True
			Set ComControl of hoElement to "Exontrol.Button"
			Variant voButton
			Get ComObject of hoElement to voButton
			Handle hoButton
			Get Create (RefClass(cComButton)) to hoButton
			Set pvComObject of hoButton to voButton
				Set ComCaption of hoButton to "<sha ;;0>button"
			Send Destroy to hoButton
			Set ComHeight of hoElement to 32
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
47
How can I host a Command button

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to ""check":18,"client""
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComShowCheckBox of hoElement to True
			Set ComHeight of hoElement to 48
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
46
How can I handle the events of the inner ActiveX control

// Occurs once an inside control fires an event.
Procedure OnComOleEvent Variant   llElement Variant   llEv
	Forward Send OnComOleEvent llElement llEv
	Showln llEv
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to ""check":18,"client""
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComShowCheckBox of hoElement to True
			Set ComHeight of hoElement to 48
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
45
How can I display a checkbox while my node hosts an ActiveX inside

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to ""check":18,"client""
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComShowCheckBox of hoElement to True
			Set ComHeight of hoElement to 48
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
44
Is it possible to display a caption while the element hosts an ActiveX control

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to "18;"caption"/"client""
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComCaption of hoElement to "Forms.CommandButton"
			Set ComCaptionAlign of hoElement to OLEexTopCenter
			Set ComHeight of hoElement to 48
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
43
I host an ActiveX control but it does not cover the whole element. What can be done

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to ""client""
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComHeight of hoElement to 32
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
		Variant voElement1
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement1
		Handle hoElement1
		Get Create (RefClass(cComElement)) to hoElement1
		Set pvComObject of hoElement1 to voElement1
			Set ComElementFormat of hoElement1 to ""client""
			Variant voCommandButton1
			Get ComObject of hoElement1 to voCommandButton1
			Handle hoCommandButton1
			Get Create (RefClass(cComCommandButton)) to hoCommandButton1
			Set pvComObject of hoCommandButton1 to voCommandButton1
				Set ComCaption of hoCommandButton1 to "command"
			Send Destroy to hoCommandButton1
			Set ComHeight of hoElement1 to 32
			Set ComWidth of hoElement1 to 128
		Send Destroy to hoElement1
	Send Destroy to hoElements
End_Procedure
42
How can I host my ActiveX to the surface (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComInsertControl of hoElements "Forms.CommandButton.1" Nothing Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComElementFormat of hoElement to ""client""
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComHeight of hoElement to 32
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
41
How can I host my ActiveX to the surface (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "ActiveX" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComType of hoElement to OLEexElementHostControl
			Set ComElementFormat of hoElement to ""client""
			Set ComControl of hoElement to "Forms.CommandButton.1"
			Variant voCommandButton
			Get ComObject of hoElement to voCommandButton
			Handle hoCommandButton
			Get Create (RefClass(cComCommandButton)) to hoCommandButton
			Set pvComObject of hoCommandButton to voCommandButton
				Set ComCaption of hoCommandButton to "command"
			Send Destroy to hoCommandButton
			Set ComHeight of hoElement to 32
			Set ComWidth of hoElement to 128
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
40
How can I define the elements with a solid color on the background

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexElementBorderColor to -1
	Set ComBackground OLEexElementStatusColor to -1
	Set ComBackground OLEexElementBackColor to (RGB(255,0,0))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Node A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Node B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
39
Can I display the status to a different part of the element

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "Node" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComStatusAlign of hoElement to OLEexAlignBottom
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
38
How can I remove or hide the status part of the event

// A new element has been added to the surface.
Procedure OnComAddElement Variant   llElement
	Forward Send OnComAddElement llElement
	// Element.StatusSize = 0
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexElementStatusColor to -1
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Node A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Node B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
37
How can I change the visual appearance of the border for all elements

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexElementBorderColor to |CI$1000000
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element+A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element+B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
36
How can I change the color of the border for all elements

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexElementBorderColor to (RGB(0,255,0))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element+A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element+B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
35
How can I remove the border for all elements

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexElementBorderColor to -1
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element+A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element+B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
34
How do I change the visual appearance the glpyh that shows when the element is added as a child

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 2 "c:\exontrol\images\pushed.ebn" to Nothing
	Send Destroy to hoAppearance1
	Set ComBackground OLEexHoverInsertObject to |CI$1000000
	Set ComBackground OLEexHoverInsertObjectGlyph to |CI$2000000
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
33
Is it possible to change the color for the glpyh that shows when the element is added as a child

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexHoverInsertObject to (RGB(255,0,0))
	Set ComBackground OLEexHoverInsertObjectGlyph to (RGB(255,0,0))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
32
How can I change the color to show a valid link

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexLinkObjectsValidColor to (RGB(0,255,0))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
31
How can I change the color to show an invalid link

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexLinkObjectsInvalidColor to (RGB(0,255,0))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
30
How can I disable adding the elements as child of other nodes
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowInsertObject to False
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
29
How can I prevent moving the outgoing /descendents elements when moving an element
Procedure OnCreate
	Forward Send OnCreate
	Set ComShowLinksType to (OLEexLinkStraight + OLEexLinkDirect)
	Set ComAllowMoveDescendents to False
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
End_Procedure
28
How can I add programatically a link

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
	Variant voLinks
	Get ComLinks to voLinks
	Handle hoLinks
	Get Create (RefClass(cComLinks)) to hoLinks
	Set pvComObject of hoLinks to voLinks
		Variant vFrom
			Variant voElements1
			Get ComElements to voElements1
			Handle hoElements1
			Get Create (RefClass(cComElements)) to hoElements1
			Set pvComObject of hoElements1 to voElements1
				Get ComItem of hoElements1 1 to vFrom
			Send Destroy to hoElements1
Variant vTo
			Variant voElements2
			Get ComElements to voElements2
			Handle hoElements2
			Get Create (RefClass(cComElements)) to hoElements2
			Set pvComObject of hoElements2 to voElements2
				Get ComItem of hoElements2 2 to vTo
			Send Destroy to hoElements2
		Get ComAdd of hoLinks vFrom vTo Nothing to Nothing
	Send Destroy to hoLinks
End_Procedure
27
How do I prevent adding a link between elements
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowLinkObjects to OLEexDisallow
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "Element <sha ;;0>A" Nothing Nothing to Nothing
		Get ComAdd of hoElements "Element <sha ;;0>B" 96 24 to Nothing
	Send Destroy to hoElements
End_Procedure
26
How can I hide the 100% button ( zoom ) on the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Set ComToolBarFormat to "-1,100"
End_Procedure
25
Is it possible to hide the Home button on the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Set ComToolBarFormat to "-1,101"
End_Procedure
24
How can I hide the grid lines, including the axis

Procedure OnCreate
	Forward Send OnCreate
	Set ComShowGridLines to False
	Set ComAxisStyle to OLEexNoLines
End_Procedure
23
How can I hide the grid lines

Procedure OnCreate
	Forward Send OnCreate
	Set ComShowGridLines to False
End_Procedure
22
How can I clear the images shown on the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Get ComToolBarReplaceIcon 0 -1 to Nothing
	Send ComToolBarRefresh
End_Procedure
21
How can I replace the default icons shown on the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Get ComToolBarReplaceIcon 0 -1 to Nothing
	Send ComToolBarImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
End_Procedure
20
How can I replace the default icons shown on the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Send ComToolBarImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Set ComToolBarCaption 100 to "<img>3</img> aka1"
End_Procedure
19
How can I add an anchor element to the control's toolbar

// Occurs when an anchor element is clicked, on the control's toolbar.
Procedure OnComToolBarAnchorClick String   llAnchorID String   llOptions
	Forward Send OnComToolBarAnchorClick llAnchorID llOptions
	Showln llAnchorID
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComToolBarFormat to "-1,100,101,|,102"
	Set ComToolBarCaption 102 to "<a a1>anchor</a>"
End_Procedure
18
How can I add a button/image to the control's toolbar

// Occurs when the user clicks a button in the toolbar.
Procedure OnComToolBarClick Integer   llID Integer   llSelectedID
	Forward Send OnComToolBarClick llID llSelectedID
	Showln llID
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComToolBarImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Set ComToolBarFormat to "-1,100,101,102"
	Set ComToolBarCaption 102 to "<img>3</img> new"
End_Procedure
17
How can I add a button to the control's toolbar

// Occurs when the user clicks a button in the toolbar.
Procedure OnComToolBarClick Integer   llID Integer   llSelectedID
	Forward Send OnComToolBarClick llID llSelectedID
	Showln llID
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComToolBarFormat to "-1,100,101,102"
	Set ComToolBarCaption 102 to "<sha ;;0>new"
End_Procedure
16
How can I hide the control's toolbar

Procedure OnCreate
	Forward Send OnCreate
	Set ComToolBarVisible to False
End_Procedure
15
How can I prevent selecting the elements
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowSelectObject to OLEexDisallow
	Set ComAllowSelectObjectRect to OLEexDisallow
	Set ComAllowToggleSelectKey to OLEexDisallow
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "element" Nothing Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
14
How can I show the selected elements the same as the control has the focus

Procedure OnCreate
	Forward Send OnCreate
	Set ComHideSel to False
	Set ComSelectObjectColorInactive to (ComSelectObjectColor(Self))
	Set ComSelectObjectTextColorInactive to (ComSelectObjectTextColor(Self))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComSelected of hoElement to True
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
13
How can I show the selected elements with a different border

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComHideSel to False
	Set ComSelectObjectStyle to OLEexLinesSolid
	Set ComSelectObjectColor to |CI$1000000
	Set ComSelectObjectTextColor to (RGB(0,0,0))
	Set ComSelectObjectColorInactive to (ComSelectObjectColor(Self))
	Set ComSelectObjectTextColorInactive to (ComSelectObjectTextColor(Self))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComSelected of hoElement to True
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
12
How can I show the selected elements with a different background color

Procedure OnCreate
	Forward Send OnCreate
	Set ComHideSel to False
	Set ComSelectObjectStyle to OLEexNoLines
	Set ComSelectObjectColor to (RGB(255,0,0))
	Set ComSelectObjectTextColor to (RGB(255,255,255))
	Set ComSelectObjectColorInactive to (ComSelectObjectColor(Self))
	Set ComSelectObjectTextColorInactive to (ComSelectObjectTextColor(Self))
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComSelected of hoElement to True
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
11
Is it possible to add an inner control on the surface

// Occurs once an inside control fires an event.
Procedure OnComOleEvent Variant   llElement Variant   llEv
	Forward Send OnComOleEvent llElement llEv
	Showln llEv
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "activex hosting" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComType of hoElement to OLEexElementHostControl
			Set ComControl of hoElement to "Forms.CommandButton.1"
			Set ComCaption of hoElement to "Command Button"
			Set ComHeight of hoElement to 64
			Set ComWidth of hoElement to 128
			Set ComElementFormat of hoElement to "14;"caption"/"client""
			Set ComCaptionAlign of hoElement to OLEexTopCenter
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
10
How can I make the control read-only
// Occurs when the control's layout is about to be changed.
Procedure OnComLayoutStartChanging OLELayoutChangingEnum   llOperation
	Forward Send OnComLayoutStartChanging llOperation
	Showln llOperation
	Send ComCancelLayoutChanging
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "new element" Nothing Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
9
How can I handle clicking a picture on the element

// The uses clicks a part of the element that shows the had cursor.
Procedure OnComHandCursorClick Variant   llElement OLEShowHandCursorOnEnum   llHit Variant   llKey
	Forward Send OnComHandCursorClick llElement llHit llKey
	Showln llKey
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "new element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComCaptionAlign of hoElement to OLEexTopRight
			Set ComPicturesAlign of hoElement to OLEexTopLeft
			Set ComShowHandCursorOn of hoElement to (OLEexShowHandCursorAnchorAll + OLEexShowHandCursorPictures + OLEexShowHandCursorIcon + OLEexShowHandCursorPicture)
			Set ComPictures of hoElement to "0,1,2"
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
8
How can I show the hand cursor when user hovers the element's image

// The uses clicks a part of the element that shows the had cursor.
Procedure OnComHandCursorClick Variant   llElement OLEShowHandCursorOnEnum   llHit Variant   llKey
	Forward Send OnComHandCursorClick llElement llHit llKey
	Showln llKey
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "new element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComCaptionAlign of hoElement to OLEexTopRight
			Set ComPicturesAlign of hoElement to OLEexTopLeft
			Set ComShowHandCursorOn of hoElement to (OLEexShowHandCursorAnchorAll + OLEexShowHandCursorPictures + OLEexShowHandCursorIcon + OLEexShowHandCursorPicture)
			Set ComPictures of hoElement to "0,1,2"
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
7
How can I show the hand cursor when user hovers the element's checkbox

Procedure OnCreate
	Forward Send OnCreate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "new element" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComCaptionAlign of hoElement to OLEexTopRight
			Set ComCheckBoxAlign of hoElement to OLEexTopLeft
			Set ComShowCheckBox of hoElement to True
			Set ComShowHandCursorOn of hoElement to (OLEexShowHandCursorAnchorAll + OLEexShowHandCursorCheck)
		Send Destroy to hoElement
	Send Destroy to hoElements
End_Procedure
6
How can I remove the status part for all elements

// A new element has been added to the surface.
Procedure OnComAddElement Variant   llElement
	Forward Send OnComAddElement llElement
	// Element.StatusSize = 0
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexElementStatusColor to -1
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "new element" Nothing Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
5
How can I remove the border for all elements

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackground OLEexElementBorderColor to -1
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "new element" Nothing Nothing to Nothing
	Send Destroy to hoElements
End_Procedure
4
How do I edit the element's caption once the user creates the element

// The user creates at runtime a new element.
Procedure OnComCreateElement Variant   llElement
	Forward Send OnComCreateElement llElement
	// Element.Edit(0)
	// Element.AutoSize = True
End_Procedure


3
How can I align the element's checkbox next to the text

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Variant voElement
		Get ComAdd of hoElements "text" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComShowCheckBox of hoElement to True
			Set ComCaptionAlign of hoElement to OLEexTopRight
			Set ComCheckBoxAlign of hoElement to OLEexTopLeft
		Send Destroy to hoElement
	Send Destroy to hoElements
	Send ComEndUpdate
End_Procedure
2
How can I assign a check-box to all elements

// A new element has been added to the surface.
Procedure OnComAddElement Variant   llElement
	Forward Send OnComAddElement llElement
	// Element.ShowCheckBox = True
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voElements
	Get ComElements to voElements
	Handle hoElements
	Get Create (RefClass(cComElements)) to hoElements
	Set pvComObject of hoElements to voElements
		Get ComAdd of hoElements "" -24 -24 to Nothing
		Variant voElement
		Get ComAdd of hoElements "" Nothing Nothing to voElement
		Handle hoElement
		Get Create (RefClass(cComElement)) to hoElement
		Set pvComObject of hoElement to voElement
			Set ComChecked of hoElement to OLEexChecked
		Send Destroy to hoElement
	Send Destroy to hoElements
	Send ComHome
	Send ComEndUpdate
End_Procedure
1
How do I change the control's background color

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackColor to (RGB(240,240,240))
End_Procedure